<?php

/*************************************************/
/*     __            __    ____                  */
/*    / / ___  ____ / /_  / __/__  ____ __ ___   */
/*   / /_/ -_|/ __//  _/ _\ \/ ° // __// // _ \  */
/*  /___/\__//_/  /_/   /___/\__//_/  /_//_//_/  */
/*                                               */
/*************************************************/

/**
 * Classe UtilisateurControleur
 * @author Molinier Danik
 * @package controleur
 */
class UtilisateurControleur extends Controleur{
	
	
	
	function UtilisateurControleur(){
		parent::Controleur();
		$this->_listActions = Array('loger', 'unlog', 'list', 'joueur', 'admin', 'majAuto');
	}
	
	
	/**
	 * Action par défaut
	 * @param mixed $data
	 */
	function defaultAction($data){
		$this->affiche(new UtilisateurVue('default'));
	}
	





	public function logerAction($data){
		$log = $data['login'];
		$pass = $data['password'];

		
		
		$utilisateur = Utilisateur::connect($log, $pass);
		
		/*$actu = new Actu();
		$actus = $actu->findAll('date');*/



		if($utilisateur){
			$_SESSION['utilisateur'] = $utilisateur;
			
			$menu = new Menu();
			$menu->select('Actualite');
			$actu = new Actu();
		
			$this->affiche(new IndexVue('default', $actu->get10()), true, $menu);
		}else{
			$menu = new Menu();
			$menu->select('Actualite');
			$this->affiche(new UtilisateurVue('nonLog'), true, $menu);
		}
	}






	public function unlogAction(){
		If(isset($_SESSION['utilisateur'])){
			session_unset($_SESSION['utilisateur']); 
		}
		
		$menu = new Menu();
		$menu->select('Actualite');

		$actu = new Actu();
		
		$this->affiche(new IndexVue('default', $actu->get10()), true, $menu);
	}







	public function listAction($data){
		$utilisateur = null;

		$menu = new Menu();
		$menu->select('Effectif');

		If(isset($_SESSION['utilisateur'])){
			$utilisateur = $_SESSION['utilisateur'];
		}else{
			$utilisateur = new Utilisateur();
		}
		$this->affiche(new UtilisateurVue('list', $utilisateur->findAll('grade')), true, $menu);

	}







	public function joueurAction($data){

		$menu = new Menu();
		

		$utilisateur = null;
		If(isset($_SESSION['utilisateur'])){
			$utilisateur = $_SESSION['utilisateur'];
		}else{
			$utilisateur = new Utilisateur();
		}



		if(in_array($data['joueur'], $utilisateur->findAllAttr('login'), true)){
			$user = $utilisateur->findByLogin($data['joueur']);
			$menu->ajoutMenu($user->getAttr('login'), "index.php?module=Utilisateur&action=joueur&joueur=".$user->getAttr('login'));
			$menu->select($user->getAttr('login'));

			$this->affiche(new UtilisateurVue('ficheJoueur', $user), true, $menu);
		}else{
			$menu->select('Actualite');
			$this->affiche(new UtilisateurVue('list', $utilisateur->findAll()), true, $menu);
		}
	}





	public function adminAction($data){
		$utilisateur = null;
		$ok = false;
		$menu = new Menu();
		If(isset($_SESSION['utilisateur'])){
			$utilisateur = $_SESSION['utilisateur'];
			if($utilisateur->getAttr('droit') == 0){
				$ok = true;
				$menu->select('Administration');
				$this->affiche(new UtilisateurVue('admin'), true, $menu);
			}
		}
		if(!$ok){
			$menu->select('Actualite');
			$this->affiche(new UtilisateurVue('list', $utilisateur->findAll()), true, $menu);
		}
	}

	public function majAutoAction($data){
		$utilisateur = null;
		$ok = false;
		$menu = new Menu();
		If(isset($_SESSION['utilisateur'])){
			$utilisateur = $_SESSION['utilisateur'];
			if($utilisateur->getAttr('droit') == 0){
				$ok = true;


				$domdoc = new DomDocument();
				$domdoc->load('../base/dasanfall/liste_membre.xml');

				$membres = $domdoc->getElementsByTagName('members');
				//echo "<pre>Debut des hostilite  !<br />";
				foreach ($membres as $membre) {

				    //echo "membre ".$membre->getAttribute('character_id')." !<br />";
				    $attrList = $membre->childNodes;
					$membre_name = $attrList->item(1);




				    //$membre_name_tmp = $membre->getElementsByTagName('name');
				    //$membre_name = $membre_name_tmp->item(0);	

				    //echo "membre ".$membre_name->getAttribute('first')." !<br />";
				}
				//echo "Fin des hostilite  !<br /></pre>";



				$menu->select('Administration');
				$this->affiche(new UtilisateurVue('admin'), true, $menu);
			}
		}
		if(!$ok){
			$menu->select('Actualite');
			$this->affiche(new UtilisateurVue('list', $utilisateur->findAll()), true, $menu);
		}
	}
}
?>




<members character_id="5428069961309487057" faction_id="2" head_id="1" member_since="1402352688" member_since_date="2014-06-09 22:24:48.0" profile_id="8" rank="Loup Mercenaire" rank_ordinal="5" title_id="63">
	<name first="LertSarin" first_lower="lertsarin"/>
	<battle_rank percent_to_next="34" value="54"/>
	<certs available_points="723" earned_points="14915" gifted_points="914" percent_to_next="0.7396666666826" spent_points="15106"/>
	<daily_ribbon count="4" date="2014-09-08 22:00:00.0" time="1410213600"/>
	<times creation="1368080201" creation_date="2013-05-09 06:16:41.0" last_login="1410196694" last_login_date="2014-09-08 17:18:14.0" last_save="1410214579" last_save_date="2014-09-08 22:16:19.0" login_count="164" minutes_played="17552"/>
</members>